package client.abilities.ActivatedAbilities;

import client.BattleManager;
import client.MagicColor;
import client.ManaPool;
import client.TimedEffect;
import client.abilities.CreatureAbility;

public class AccuracyBoost extends CreatureAbility implements TimedEffect {

	private static final long serialVersionUID = 1L;

	public AccuracyBoost(int tier) {
		this.tier = tier;
		name = "Accuracy Boost";
		manaCost = new ManaPool();
		manaCost.setColor(MagicColor.BLUE, 3);
		//description = "Increases accuracy by 10% for one turn.";
	}
	
	@Override
	public boolean use(BattleManager battle) {
		boolean used = false;
		if (battle.getPlayer().getManaPool().comparePool(manaCost)) {
			setAccuracyBoost(5+5*tier);
			setTurns(1);
			battle.getPlayer().getActiveCreature().addEffect(this);
			battle.getPlayer().getManaPool().subtractPool(manaCost);
			battle.incrementSpellsUsed();
			used = true;
		}
		return used;
	}

	@Override
	public void onEnterBattle(BattleManager battle) {
		
	}

    @Override
    public void setAccuracyBoost(int i) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void setTurns(int i) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void setStrengthBoost(int newStrength) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int getStrengthBoost() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int getTurns() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void addTurns(int turns) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void subtractTurns(int turns) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}
